Method and system for determining the tray with the best paper registration for a print job

ABSTRACT

A method is disclosed for controlling at least one printer engine, the at least one printer engine having plural trays, each of the plural trays is aligned independently for imaging on a sheet of print medium. The method includes obtaining information according to first conditions in which each of the plural trays has been aligned, and the alignment of the each of plural trays is an adjustment to a position of a printable area on the sheet of print medium so that the printable area is centered on the sheet of print medium; obtaining information according to a second condition in which the at least one printer engine executes a print job; judging differences between each of the first conditions and the second condition; selecting a tray for the print job based on the judged differences; and instructing the print engine to execute the print job using the selected tray.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. application Ser. No.14/871,512, filed on Sep. 30, 2015, the entire content of which isincorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to a method and system for determining thetray with the best paper registration for a print job.

BACKGROUND OF THE INVENTION

In today's multi-function devices, there is an adjustment feature called“tray alignment” or “paper registration” that allows the user to make anadjustment to the image (vertical or horizontal) position in such a waythat the image is centered on the page. This feature can be most helpfulwhen printing in duplex because if the front side is not centered (forexample, the left margin is wider than the right margin), then the backside will be printed off center, that is, in the opposite directionwhere the right margin is wider than the left margin. If, for example,the page is not centered, the front and back side of the printed pagewill not align.

The tray alignment feature seeks to address this issue. However, even ifthe tray alignment has been performed, several environmental factors caninfluence the accuracy of the alignment adjustment.

SUMMARY OF THE INVENTION

In consideration of the above issues, it would be desirable to have amethod and system for determining the tray with the best paperregistration for a print job.

A method is disclosed for controlling at least one printer engine, theat least one printer engine having plural trays, and wherein each of theplural trays is aligned independently for imaging on a sheet of printmedium, the method comprising: obtaining information according to firstconditions in which each of the plural trays has been aligned; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; selecting a tray for theprint job based on the judged differences; and instructing the printengine to execute the print job using the selected tray.

A controller configured to control at least one printer engine isdisclosed, the at least one printer engine having plural trays, andwherein each of the plural trays is aligned independently for imaging ona sheet of print medium, and wherein the controller is configured to:obtain information according to first conditions in which each of theplural trays has been aligned; obtain information according to a secondcondition in which the at least one printer engine executes a print job;judge differences between each of the first conditions and the secondcondition; select a tray for the print job based on the judgeddifferences; and instruct the at least one printer engine to execute theprint job using the selected tray.

A non-transitory computer readable recording medium stored with acomputer readable program code for controlling at least one printerengine, the at least one printer engine having plural trays, and whereineach of the plural trays is aligned independently for imaging on a sheetof print medium is disclosed, the computer readable program codeconfigured to execute a process comprising: obtaining informationaccording to first conditions in which each of the plural trays has beenaligned; obtaining information according to a second condition in whichthe at least one printer engine executes a print job; judgingdifferences between each of the first conditions and the secondcondition; selecting a tray for the print job based on the judgeddifferences; and instructing the at least one printer engine to executethe print job using the selected tray.

A method is disclosed for controlling at least one printer engine, theat least one printer engine having plural trays, and wherein each of theplural trays is aligned independently for imaging on a sheet of printmedium, the method comprising: obtaining information according to firstconditions in which each of the plural trays has been aligned, andwherein the alignment of the each of plural trays is an adjustment to aposition of a printable area on the sheet of print medium so that theprintable area is centered on the sheet of print medium; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; selecting a tray for theprint job based on the judged differences; and instructing the printengine to execute the print job using the selected tray.

A method is disclosed for controlling at least one printer engine, theat least one printer engine having plural trays, and wherein each of theplural trays is aligned independently for imaging on a sheet of printmedium, the method comprising: obtaining information according to firstconditions in which each of the plural trays has been aligned, andwherein the alignment of the each of plural trays is an adjustment to aposition of a printable area on the sheet of print medium so that theprintable area is centered on the sheet of print medium; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; recommending a user whichtray should be used based on the judged differences; receiving a user'stray selection; and instructing the print engine to execute the printjob using the selected tray.

A controller is disclosed configured to control at least one printerengine, the at least one printer engine having plural trays, and whereineach of the plural trays is aligned independently for imaging on a sheetof print medium, and wherein the controller is configured to: obtaininformation according to first conditions in which each of the pluraltrays has been aligned, and wherein the alignment of the each of pluraltrays is an adjustment to a position of a printable area on the sheet ofprint medium so that the printable area is centered on the sheet ofprint medium; obtain information according to a second condition inwhich the at least one printer engine executes a print job; judgedifferences between each of the first conditions and the secondcondition; select a tray for the print job based on the judgeddifferences; and instruct the at least one printer engine to execute theprint job using the selected tray.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and areintended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a furtherunderstanding of the invention, and are incorporated in and constitute apart of this specification. The drawings illustrate embodiments of theinvention and, together with the description, serve to explain theprinciples of the invention.

FIG. 1 is an illustration of a system in accordance with an exemplaryembodiment, which can include a client device, a printer servercontroller (or digital front end device), and a multi-function device.

FIG. 2 is an illustration of a printer driver user interface inaccordance with an exemplary embodiment.

FIG. 3 are illustrations of a pair of tables configured to track andmonitor a plurality of trays and tray's characteristics or configurationparameters for each of the plurality of trays.

FIGS. 4A and 4B is a flow chart showing an exemplary embodiment of amethod and system for determining the tray with the best paperregistration for a print job in accordance with an exemplary embodiment.

FIG. 5 is a flow chart showing an exemplary embodiment for checking atray from a list of available trays that meet criteria of factor inaccordance with an exemplary embodiment.

FIG. 6A is an illustration of a printer driver user interface inaccordance with an exemplary embodiment.

FIG. 6B is an illustration of a print property graphical user interfacein accordance with an exemplary embodiment.

FIG. 7 is another illustration of the printer driver user interface inaccordance with an exemplary embodiment.

FIG. 8 is an illustration of a graphical user interface (GUI) of themulti-function device in accordance with an exemplary embodiment.

FIG. 9 is a flow chart showing an exemplary embodiment for receivinginformation on alignment of a tray in accordance with an exemplaryembodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to the present preferredembodiments of the invention, examples of which are illustrated in theaccompanying drawings. Wherever possible, the same reference numbers areused in the drawings and the description to refer to the same or likeparts.

In accordance with an exemplary embodiment, the methods described hereincan be implemented in a system 100 that can include one or more clientdevices 110, and a digital front end device (or printer controller orprinter server controller) 120, and a multi-function device 130,preferably in the form of a multi-function peripheral (MFP) or printer.For example, in accordance with an exemplary embodiment, themulti-function device 130 preferably in the form of multi-functionperipheral (or printer) can include a printer controller (or firmware),an image processing section (or data dispatcher), a print engine, aninput/output (I/O) section, and a scanner. For example, the printercontroller can include a central processing unit (CPU), a random accessmemory (RAM), and a read only memory (ROM).

Examples of multi-function device 130 consistent with exemplaryembodiments of the invention include, but are not limited to, amulti-function peripheral (MFP), a laser beam printer (LBP), an LEDprinter, a multi-function laser beam printer including copy function, orcolor printer. In accordance with another embodiment, the multi-functiondevice 130 can be configured as a multi-function peripheral (MFP) deviceor all-in-one (AIO) that includes a printer section for converting printdata inputted from outside to image data and forming and printing outthe converted image onto a printable media, a scanner section foroptically reading a document (for example, an image recognition system),and a facsimile section for facsimile receiving and transmitting imagedata to and from external apparatuses through public telecommunicationlines.

In addition, the multi-function device 130 can include one or morepost-processing apparatus or functions, which can include for example, abooklet module, a folding module, a punch module, a stitching orstapling module, and a stacking module. For example, a booklet, such amagazine, can be completed by folding the sheet bundle along thepositions at which the stapling has been performed.

For example, in accordance with an exemplary embodiment, the imageprocessing section within the multi-function device 130 can beconfigured to carry out image processing under the control of theprinter server controller, and sends the processed print image data tothe print engine. The print engine forms an image on a sheet of printmedium (for example, a recording sheet) based on the image data sentfrom the image processing section. The image processing section alsoincludes a scanner section for optically reading a document, such as animage recognition system. The scanner section receives the image fromthe scanner and converts the image into a digital image. The printengine forms an image on a recording sheet based on the image data sentfrom the image processing section. The I/O section performs datatransfer with the one or more client devices 110 and the printer servercontroller 120.

The input/output (I/O) section provides communications between theprinter section and the one or more client devices 110 and receives pagedescriptions (or print data) from the one or more client devices 110 forprocessing within the multi-function device 130. In accordance with anexemplary embodiment, the operation of printer section commences when itreceives a page description from the one or more client devices 110 viaI/O section in the form of a print job data stream and/or fax datastream. The page description may be any kind of page descriptionlanguages (PDLs), such as PostScript® (PS), Printer Control Language(PCL), Portable Document Format (PDF), and/or XML Paper Specification(XPS).

In accordance with an exemplary embodiment, the multi-function device130 can also include one or more media trays (or trays) to the imageprocessing section for imaging and processing. In addition, the one ormore media trays can include an auto feeding mechanism or tray, whereina user can feed one or more sheets or pages of a printed image, coversheet of a package of print media and/or other documents to the imageprocessing section for imaging and processing.

In accordance with an exemplary embodiment, the one or more clientdevices 110 can include a processor, and one or more memories forstoring software programs and data (such as files to be printed). Inaccordance with an exemplary embodiment, the one or more client devices110 can include a multi-function peripheral, an image forming apparatus,a personal computer, a portable device such as a notebook personalcomputer, desktop computer, a mainframe, a kiosk, a cable box, a mobile,cellular or smart phone, a personal digital assistant (PDA), a router,an intermediary device and/or server and like devices and/or systems,which send data over a communication network 140.

In accordance with an exemplary embodiment, the system 100 can alsoinclude a printer server controller (for example, a digital front end(DFE) device) 120. The printer server controller or digital front enddevice 120 can be configured to control the one or more multi-functiondevices within the system 100. For example, the printer servercontroller or digital front end device 120 can be configured to loadfiles from various network sources and process the files so they can beoutput on digital equipment, whether it be a small all-in-one or a largemulti-functional peripheral or printer. In accordance with an exemplaryembodiment, the printer server controller or digital front end device120 can be configured to accept and process files for variable dataapplications and to pull information from a database for personalizeddocuments. In addition, the printer server controller or DFE 120 can benetworked to the plurality of multi-functions devices 100 via a networkconnection 140, or can be connected to the multi-function device 130 viaa video connection.

In accordance with an exemplary embodiment, the one or more clientdevices 110, the printer server controller or digital front end device120, and the multi-function device 130 can be connected to one anothervia a communication network (not shown). For example, the communicationnetwork can be a public telecommunication line and/or a network (forexample, LAN or WAN). Examples of the communication network can includeany telecommunication line and/or network consistent with embodiments ofthe disclosure including, but are not limited to, telecommunication ortelephone lines, the Internet, an intranet, a local area network (LAN),a wide area network (WAN) and/or a wireless connection using radiofrequency (RF) and/or infrared (IR) transmission.

FIG. 2 is an illustration of a printer driver user interface 200 inaccordance with an exemplary embodiment. In accordance with an exemplaryembodiment as shown in FIG. 2, a printer driver can reside on the one ormore client devices 110. A printer driver user interface 210 caninclude, for example, a properties box 212, which when checked orclicked, opens a print property graphical user interface 220, whichincludes a checkbox 230 for “Tray Alignment.” In accordance with anexemplary embodiment, for example, when a user selects the trayalignment checkbox 230, a pull-down menu 232 can be enabled that allowsa user to select different options of the tray alignment command. Inaccordance with an exemplary embodiment, for example, the differentoptions of the tray alignment command can include “Best” 240, “Shortestpath of paper tray” 242, “Number of pages already printed” 244, Lasttime tray was calibrated” 246, “Paper size” 248, “Tray alignment afterprinter driver update” 250, and “Tray alignment after enginere-installation” 252.

In accordance with an exemplary embodiment, once the checkbox 230 for“Tray Alignment” has been selected and the “Print” button 214 is clickedon the printer driver user interface 210, the printer driver will createand send a PDL job with the accompanying tray alignment command optionsto the printer server controller 120. In accordance with an exemplaryembodiment, a PDL job could be, for example, a Postscript file or anyother print description language.

In accordance with an exemplary embodiment, the printer servercontroller 120 will interpret the PDL job and RIP the job to generatethe bitmaps that will be sent to the printer controller within themulti-function device 130 for printing. In some systems, the printerdriver can perform the RIPping and it will send the RIPped job to theprinter server controller 120. In addition to the RIPping, the printerserver controller 120 will also send to the printer controller the trayalignment commands that were sent to the printer server controller 120by the printer driver user interface 210.

Upon receiving the bitmap images and prior to the printing of the page,the printer controller within the multi-function device 130 will processthe tray alignment commands to determine which of the plurality of trayswill be used to print the job.

In accordance with an exemplary embodiment, the selection of thecheckbox 230 for “Tray Alignment” for printing of the print job candepend on many factors such as, for example, the availability of each ofthe pluralities of tray. Some of those factors considered by the printercontroller, can include, for example, (1) is the tray out of paper?; (2)is the tray jammed?; and/or (3) does the tray have the correct papersize and media type as requested by the job? Examples of media type caninclude thick paper, thin paper, transparency, labels, postcards,envelopes, etc.

In accordance with an exemplary embodiment, tray alignment can befactored into the algorithm in making the final decision on which feedtray to use. Throughout the rest of this document, the term “Alignment,”“Tray Alignment” or “Calibration” can be used interchangeably.

In accordance with an exemplary embodiment, for example, as shown inFIG. 3 the printer controller can memorizes one or more tables, whichtracks and monitors each of the one or more tray's characteristics orconfiguration parameters. FIG. 3 are illustrations of a pair of tables(Tables 1 and 2) 310, 320 configured to track and monitor each tray'scharacteristics and/or parameters.

In accordance with another exemplary embodiment, the determination ofwhich tray is selected can be determined by a controller within theprinter server controller 120, which is then provided to themulti-function device 130.

In accordance with an exemplary embodiment, for example, Table 1 310 cantrack the tray number, the paper size used to calibrate the tray, dateof the last time the tray was calibrated, date of printer driverinstallation, dated of engine re-installation, date and time when paperwas last loaded, and the number of pages printed since the lastcalibration. In Table 1 310, the table shows that each tray may havebeen calibrated with multiple paper sizes. As such, Table 1 310 can keeptrack of which tray was calibrated with which paper size.

In accordance with an exemplary embodiment, Table 2 320 can setup apriority list that the printer server controller will consider indetermining which factors or characteristics should have priority overother factors. The priority numbers listed in Table 2 320 is strictly,for example purposes only. For example, in accordance with an exemplaryembodiment, the implementer of the printer engine software can determinewhich factors are the most important as each engine product may havedifferent sets of priority.

In accordance with an exemplary embodiment, the printer driver usersettings as illustrated or shown in the checkbox 230 for the userinterface 220, can be stored for example, in the memory of the printerserver controller 120. In accordance with an exemplary embodiment, thetray alignment can be selected by the user by selecting the preferredconfiguration parameter, or alternatively, a “Best” setting can beselected. In accordance with an exemplary embodiment, any one of theconfiguration settings can be set as a default setting, for example, byan administrator. An explanation of each factor or configurationparameter is as follows:

“Shortest path of paper tray” refers to the physical location of thetray closest to the print process (where toner is laid on paper in theprinting process)

“Number of pages already printed” refers to the number of pages thatwere fed from the Tray since its last calibration.

“Last time tray was calibrated” refers to the date the tray wascalibrated

“Paper size” refers to the paper sizes that were used to calibrate thetrays

“Tray Alignment after printer driver update” refers to the date when theprinter driver is installed. In some implementation, when a new printerdriver version is installed, it could require performing traycalibration again because driver settings may change the tray alignmentsettings that were previously performed by the older printer driver.

“Tray Alignment after engine re-installation” refers to the date whenthe engine was physically moved and re-installed. In someimplementation, when an engine is de-installed, moved to anotherlocation, and re-installed again, the physical movement of the enginemay cause the tray alignment to go out of alignment. Thus, trayalignment settings performed before the re-installation may not beaccurate.

“Date/Time when paper last loaded” refers to the date and time in whichpaper was last loaded into the tray.

“Best” refers to the printer server controller determining the best trayused based on the weighted average of all factors to consider. In Table2 320, you can find this to be from Item #1 to Item #6. The tray withthe best score based on all factors combined will be used as the tray tofeed.

In accordance with an exemplary embodiment, in order to interpret thetables, for example, for a print job requesting letter size paper, theuser selects Tray Alignment checkbox 230 on the printer driver userinterface 210 and selects “Size” in the pull down menu.

In accordance with an exemplary embodiment, for example, the printengine of the multi-function device 130 has Tray 1 (Letter), Tray 2(Legal), Tray 3 (Letter), Tray 4 (11×17), Tray 5 (A4), Tray 6 (Letter)

When a print job is sent to the printer server controller, the printercontroller refers to Table 2 320 to determine the priority factors. Theprinter controller finds that the highest priority, for example, #7,Printer Driver user setting is the first factor to consider. In theexample, it is shown that “Size” was selected by the user at usersetting. Since the job calls for letter size, the printer controllerfirst checks which trays were calibrated with letter size paper. InTable 1 310, Tray 1, Tray 3, and Tray 6 are identified as having lettersize paper. Based on Priority 7, this effectively eliminates Trays 2, 4and 5.

Next, the printer controller checks the next priority in Table 2 320 andfinds that the “Number of pages already printed” can be found to havethe next highest priority. Therefore, the printer controller will checkthe “Number of pages already printed” of Tray 1, Tray 3, and Tray 6, andthe tray with the least amount of pages printed will be the most idealor preferred tray. For example, in this case, Tray 1 and Tray 3 can bedetermined to be the best, or more preferred, thus eliminating Tray 6.

Next, the printer controller checks the next priority in Table 2 andfinds that the next factor to consider is priority 5, “last time traywas calibrated”. In accordance with an exemplary embodiment, based onthis priority, the system can identify that tray 6 is the best choicesince tray 6 has the most recent date of calibration.

In accordance with an exemplary embodiment, for example, the tray withthe shortest path may be given as the highest priority. In this case, ifthe tray with the shortest path is selected, Tray 1 is the better choicebecause it is closest to the printing process. Thus, the printercontroller chooses Tray 1 to feed paper from the job. The above exampleis a very simple case to explain the algorithm used by the engine.However, the examples are not intended to propose or suggest thepriority of each factor.

In accordance with an exemplary embodiment, for example, if the “Best”option is selected, the printer controller will determine the best trayto use based on weighted average of all factors found in Table 2 320.For example, in Table 2 320, it is shown that Tray 1 has the bestoverall score based on the weighted average of all factors. This istaken my multiplying the Priority*Weight*Rating to produce the overallscore for Tray 1. Similar calculation is done for Tray 2, Tray 3 . . . .In accordance with an exemplary embodiment, for example, the tray withthe highest score can be chosen.

FIGS. 4A and 4B is a flow chart 400 showing an exemplary embodiment of amethod and system for determining the tray with the best paperregistration for a print job in accordance with an exemplary embodiment.As shown in FIGS. 4A and 4B, in step 410, on the client device 110, theuser sends a print job to the printer driver specifying a tray alignmentcommand or setting. In step 420, the print driver generates the PDL,which is sent to the printer server controller 120 with printingcommands, which can include, for example, Tray Alignment. In step 430,the printer server controller 120 will interpret the PDL job and RIP(raster image processing) the job to generate the bitmaps that will besent to the printer controller within the multi-function device 130 forprinting. In some systems, for example, the printer driver can performthe RIPping and it will send the RIPped job to the printer servercontroller 120. In addition to the RIPping, the printer servercontroller 120 will also send to the printer controller the trayalignment commands that were sent from the client device to the printerserver controller 120 by the printer driver.

In step 450, upon receiving the bitmap images and prior to the printingof the page, the printer controller within the multi-function device 130will process the tray alignment commands to determine which tray will beused to print the job by checking the user settings (or priority). Instep 460, the printer controller will determine if the user setting is“Best.” If the user setting is “Best,” in step 470, the printercontroller will determine priority, for example, from Table 2 320 asshown in FIG. 3. For example, in step 472, the priority can be providedby “Provide overall Tray Alignment score by Priority “Weight” rating forprinter controller to pull paper from the tray with the highest score.(See Table 2 of FIG. 3).

If the user setting is not “Best,” the process continues to step 480,wherein the printer controller will get the highest priority factor fromTable 2 320. In step 490, the printer controller will set “AvailableTray List” equal to all trays in system. In step 500, if the priorityfactor setting is equal to the user setting, the process continues tostep 510, where the p printer controller obtains the user setting factorfrom the printer server controller 120.

In accordance with an exemplary embodiment, if the priority factor isnot equal to the user setting, the process continues to step 520 (FIG.5), where a check tray process is performed from the “available traylist” that meets the configuration parameters (or criteria of factor).In step 530, a determination is made if a remaining tray meets theconfiguration parameter or factor. If the one remaining tray meets theconfiguration parameter or factor, the process continues to step 540,where the tray is chosen to feed the media to the print engine and theprocess ends.

Alternatively, if multiple trays meet the configuration parameters orfactors, the process continues to step 550, where the “Available traylist” is updated to equal remaining trays that meet configurationparameter or factor. In step 560, the next highest priority factor fromtable 2 is selected. In step 570, if the factor already processed, theprocess returns to step 560. If the factor is not already processed, theprocess continues to step 520.

FIG. 5 is a flow chart 600 showing an exemplary embodiment for selectinga tray from a list of available trays that meet the configurationparameters or criteria factors in accordance with an exemplaryembodiment. As shown in FIG. 5, in step 602, the configuration parameteror factor is determined, which can include shortest path 610, number ofpages printed 620, last time tray calibrated 630, page size 640, trayalignment after printer driver update 650, and tray alignment afterre-installation 660.

In accordance with an exemplary embodiment, for example, the trayselection process can include the shortest path 610, which can be traywith the lowest tray number. The number of pages printed 620 can be thetray with the lowest number of pages printed with current calibrationfrom Table 1 310. The last time tray calibrated 630 can be the tray withlatest date of calibration from Table 1 310. The page size 640 can be“Get tray that was calibrated with the same paper size of job.” The trayalignment after printer driver update 650 can be the tray with thelatest date of printer driver installation from Table 1 310. The trayalignment after re-installation 660 can be the tray with the latest dateof engine reinstallation. In accordance with an exemplary embodiment, instep 670, the tray(s) that meet the factor is returned, for example, tothe printer server controller 120 for selection of tray for feeding theprint media to the print engine.

In accordance with an exemplary embodiment, the method and system asdisclosed herein can include a printer server controller (or controller)120, which can be configured to control at least one printer engine, theat least one printer engine having plural trays, and wherein each of theplural trays is aligned independently for imaging on a sheet of printmedium. The controller can be configured, for example, to: obtain (ormemorize) information according to first conditions in which each of theplural trays has been aligned; obtain information according to a secondcondition in which the at least one printer engine executes a print job;judge and/or determine differences between each of the first conditionsand the second condition; select a tray for the print job based on thejudged differences: and instruct the at least one printer engine toexecute the print job using the selected tray.

In accordance with an exemplary embodiment, the controller 120 can beconfigured to: judge differences between first paper sizes which hasbeen used for each of the alignments of the plural trays and secondpaper sizes which are used for the print job, and select the tray ofwhich the first paper size is same as the second paper size.

In accordance with an exemplary embodiment, the controller 120 can beconfigured to: judge differences between first print counts when each ofthe alignments were performed and a second print count when the printjob is executed, and select the tray of which the differences betweenthe first print count and the second print count is minimum. Forexample, the controller 120 can select the tray, which has the smallestprint count between each of the alignments.

In accordance with an exemplary embodiment, the controller 120 can beconfigured to: judge differences between first times when each of thealignments were performed and a second time when the print job isexecuted, and select the tray of which the differences between the firsttime and the second time is minimum.

In accordance with an exemplary embodiment, the controller 120 can beconfigured to: control the at least one printer engine in response to aninstruction sent from a printer driver, judge differences between firstversions of the printer drivers when each of the alignments wereperformed and a second version the printer driver when the print job isinstructed, and select the tray of which the first version is same asthe second version.

In accordance with an exemplary embodiment, the controller 120 can beconfigured to: judge differences between first installation environmentswhen each of the alignments were performed and a second environment whenthe print job is executed, and select the tray of which the firstinstallation environment is same as the second installation environment.

In accordance with an exemplary embodiment, for example, if there aretwo or more trays of which the first paper size is same as the secondpaper size, the controller 120 can be configured to select the tray,among the two or more trays, of which a paper path is the shortest.

In accordance with an exemplary embodiment, the controller 120, forexample, can be configured to: obtain first conditions corresponding totwo or more printer engines; obtain second condition corresponding tothe two or more printer engines; and select the tray for the print jobamong the two or more printer engines.

FIG. 6A is an illustration of a printer driver user interface 210 inaccordance with an exemplary embodiment. As shown in FIG. 6A, theprinter driver user interface (or graphical user interface) 210 caninclude, for example, a properties box 212, which when checked orclicked, opens a print property graphical user interface 220 as shown inFIG. 6B.

In accordance with an exemplary embodiment, the print property graphicaluser interface 220 can include a checkbox 230 for “Tray Alignment.” Inaccordance with an exemplary embodiment, for example, when a userselects the tray alignment checkbox 230, a pull-down menu 232 can beenabled that allows a user to select different options of the trayalignment command. In accordance with an exemplary embodiment, forexample, the different options of the tray alignment command can include“Best” 240, “Shortest path of paper tray” 242, “Number of pages alreadyprinted” 244, Last time tray was calibrated” 246, “Paper size” 248,“Tray alignment after printer driver update” 250, “Tray alignment afterengine re-installation” 252, and “Receive Information of the Best Tray”260.

In accordance with an exemplary embodiment, once the checkbox 230 for“Tray Alignment” has been selected with “Receive Information of the BestTray” 260, the printer driver will create and send a PDL job with theaccompanying tray alignment command options to the printer servercontroller 120 for determination of the best tray in accordance with themethod and processes as disclosed herein. In accordance with anexemplary embodiment, a PDL job could be, for example, a Postscript fileor any other print description language.

In accordance with an exemplary embodiment, the printer servercontroller 120 will interpret the PDL job and RIP the job to generatethe bitmaps that will be sent to the printer controller within themulti-function device 130 for printing. In some systems, the printerdriver can perform the RIPping and it will send the RIPped job to theprinter server controller 120. In addition to the RIPping, the printerserver controller 120 will also send to the printer controller the trayalignment commands that were sent to the printer server controller 120by the printer driver. Upon receiving the bitmap images and prior to theprinting of the page, the printer controller within the multi-functiondevice 130 will process the tray alignment commands to determine whichof the plurality of trays is the best tray for the print job.

In accordance with an exemplary embodiment, for example, the selectionof the checkbox 230 for “Tray Alignment” for printing of the print jobcan depend on many factors such as, for example, the availability ofeach of the pluralities of tray. Some of those factors considered by theprinter controller, can include, for example, (1) is the tray out ofpaper?; (2) is the tray jammed?; and/or (3) does the tray have thecorrect paper size and media type as requested by the job? Examples ofmedia type can include thick paper, thin paper, transparency, labels,postcards, envelopes, etc.

FIG. 7 is another illustration of the printer driver user interface 210in accordance with an exemplary embodiment. As shown in FIG. 7, afterdetermining the “best tray” in accordance with the method and processesas disclosed herein, the printer server controller 120 sends theinformation (i.e., “best tray”) to the user interface 210 of the printerdriver, which display in the information in a pop-up window 700. Thepop-up window 700 can include a statement 710 of which tray is the besttray, for example, “Tray 3 is the best for Letter printing. Use Tray3?”. In addition, one or more selection boxes, for example, “Yes” 720,“Select tray” 722, for example, if the user wishes to select anothertray, or “Cancel” 724, for example, if the user wishes to cancel theoperation and return to the graphical user interface 210 of a printerdriver.

FIG. 8 is an illustration of the graphical user interface (GUI) 800 ofthe multi-function device 130 in accordance with an exemplaryembodiment. As shown in FIG. 8, the graphical user interface 800 of themulti-function device 130 can display, for example, a status and/orrecommendation 810, for example, “No Paper in Tray 3. Fill Letter papersin any Tray. (Tray 1 is recommended)”. The graphical user interface 810can also include one or more selection boxes, for example, “color” 820,“Paper” 822, “Zoom” 824, and “Finishing” 826.

FIG. 9 is a flow chart 900 showing an exemplary embodiment for receivinginformation on alignment of a tray in accordance with an exemplaryembodiment. As shown in FIG. 9, in step 910, if the user selects thetray alignment checkbox 230 with “Receive Information of the Best Tray”260 as shown in FIG. 6B, the process continues to step 912, where theinformation of the best tray (for example, tray 3) is returned from theprint engine. In step 914, the user can select the tray (for example,tray 3) from the plural trays for printing of the print job.

In accordance with an alternative embodiment, as described above, forexample, in the graphical user interface 210 of the printer driver, theuser can select “Best” for the print job as shown in step 920. In step922, the printer controller selects the best tray (for example, tray 3)for the print job.

In accordance with an exemplary embodiment, in step 930, the printengine prints the print job based on the user's tray selection in step914, or the automatic tray selection in step 922. In step 932, if thetray runs out of paper or if the user instructs the print engine tochange trays the process continues to step 934. Alternatively, if thetray has a sufficient amount of paper and no instruction to change traysis received, an entirety of the print job can be executed by the printengine in accordance with either the selected tray (Step 914), of thetray automatically selected by the print engine (Step 914).

In step 934, a determination is made if a same size paper for the printjob is in another tray. If the same size paper is not available, in step938, a recommendation can be displayed on the multi-function device 130to fill paper, for example, as shown in FIG. 8. In step 940, at leastone of the trays, for example, of the plural trays is filled with paper.

In step 938, if the same size paper is available (for example, in trays1 and/or 2), or once the paper is filled in at least one of the trays ofthe plural trays (for example, trays 1, 2, or 3), the process continuesto step 936, where the printing process continues based on the user'stray selection or the automatic tray selection performed by the printengine as disclosed above.

In accordance with another exemplary embodiment, a non-transitorycomputer readable recording medium stored with a computer readableprogram code for controlling at least one printer engine, the at leastone printer engine having plural trays, and wherein each of the pluraltrays is aligned independently for imaging on a sheet of print medium isdisclosed, the computer readable program code configured to execute aprocess comprising: obtaining information according to first conditionsin which each of the plural trays has been aligned; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; selecting a tray for theprint job based on the judged differences; and instructing the at leastone printer engine to execute the print job using the selected tray.

The computer readable recording medium may be a magnetic recordingmedium, a magneto-optic recording medium, or any other recording mediumwhich will be developed in future, all of which can be consideredapplicable to the present invention in all the same way. Duplicates ofsuch medium including primary and secondary duplicate products andothers are considered equivalent to the above medium without doubt.Furthermore, even if an embodiment of the present invention is acombination of software and hardware, it does not deviate from theconcept of the invention at all. The present invention may beimplemented such that its software part has been written onto arecording medium in advance and will be read as required in operation.

It will be apparent to those skilled in the art that variousmodifications and variation can be made to the structure of the presentinvention without departing from the scope or spirit of the invention.In view of the foregoing, it is intended that the present inventioncover modifications and variations of this invention provided they fallwithin the scope of the following claims and their equivalents.

What is claimed is:
 1. A method for controlling at least one printerengine, the at least one printer engine having plural trays, and whereineach of the plural trays is aligned independently for imaging on a sheetof print medium, the method comprising: obtaining information accordingto first conditions in which each of the plural trays has been aligned,and wherein the alignment of the each of plural trays is an adjustmentto a position of a printable area on the sheet of print medium so thatthe printable area is centered on the sheet of print medium; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; selecting a tray for theprint job based on the judged differences; and instructing the printengine to execute the print job using the selected tray.
 2. The methodaccording to claim 1, comprising: judging differences between firstpaper sizes which has been used for each of the alignments of the pluraltrays and second paper sizes which are used for the print job; andselecting the tray of which the first paper size is same as the secondpaper size.
 3. The method according to claim 1, comprising: judgingdifferences between first print counts when each of the alignments wereperformed and a second print count when the print job is executed; andselecting the tray of which the differences between the first printcount and the second print count is minimum.
 4. The method according toclaim 1, comprising: selecting the tray from the plural trays having asame paper size as the print job.
 5. The method according to claim 1,comprising: selecting a priority or using predetermined prioritiesselected by a user.
 6. The method according to claim 1, comprising:recommending to a user that paper should be filled into one of theplural trays when there are no trays in which a same paper size for theprint job is available.
 7. The method according to claim 1, comprising:recommending to a user that paper should be filled into one of theplural trays when the selected tray runs out of paper during printing.8. The method according to claim 2, wherein if there are two or moretrays of which the first paper size is same as the second paper size,selecting the tray, among the two or more trays, of which a paper pathis the shortest.
 9. The method according to claim 1, comprising:obtaining first conditions corresponding to two or more printer engines;obtaining second conditions corresponding to the two or more printerengines; and selecting the tray for the print job among the two or moreprinter engines.
 10. A method for controlling at least one printerengine, the at least one printer engine having plural trays, and whereineach of the plural trays is aligned independently for imaging on a sheetof print medium, the method comprising: obtaining information accordingto first conditions in which each of the plural trays has been aligned,and wherein the alignment of the each of plural trays is an adjustmentto a position of a printable area on the sheet of print medium so thatthe printable area is centered on the sheet of print medium; obtaininginformation according to a second condition in which the at least oneprinter engine executes a print job; judging differences between each ofthe first conditions and the second condition; recommending a user whichtray should be used based on the judged differences; receiving a user'stray selection; and instructing the print engine to execute the printjob using the selected tray.
 11. A controller configured to control atleast one printer engine, the at least one printer engine having pluraltrays, and wherein each of the plural trays is aligned independently forimaging on a sheet of print medium, and wherein the controller isconfigured to: obtain information according to first conditions in whicheach of the plural trays has been aligned, and wherein the alignment ofthe each of plural trays is an adjustment to a position of a printablearea on the sheet of print medium so that the printable area is centeredon the sheet of print medium; obtain information according to a secondcondition in which the at least one printer engine executes a print job;judge differences between each of the first conditions and the secondcondition; select a tray for the print job based on the judgeddifferences; and instruct the at least one printer engine to execute theprint job using the selected tray.
 12. The controller according to claim11, wherein the controller is configured to: judge differences betweenfirst paper sizes which has been used for each of the alignments of theplural trays and second paper sizes which are used for the print job;and select the tray of which the first paper size is same as the secondpaper size.
 13. The controller according to claim 11, wherein thecontroller is configured to: judge differences between first printcounts when each of the alignments were performed and a second printcount when the print job is executed; and select the tray of which thedifferences between the first print count and the second print count isminimum.
 14. The controller according to claim 11, wherein thecontroller is configured to: select the tray from the plural trayshaving same paper size as the print job.
 15. The controller according toclaim 11, wherein the controller is configured to: select a priority orusing predetermined priorities selected by a user. elect a priority orusing predetermined priorities by a user.
 16. The controller accordingto claim 11, wherein the controller is configured to: recommend to auser that paper should be filled into one of the plural trays when thereare no trays in which a same paper size for the print job is available.17. The controller according to claim 11, wherein the controller isconfigured to: recommend to a user that paper should be filled into oneof the plural trays when the selected tray runs out of paper duringprinting.
 18. The controller according to claim 11, wherein if there aretwo or more trays of which the first paper size is same as the secondpaper size, the controller is configured to: select the tray, among thetwo or more trays, of which a paper path is the shortest.
 19. Thecontroller according to claim 11, wherein the controller is configuredto: obtain first conditions corresponding to two or more printerengines; obtain second condition corresponding to the two or moreprinter engines; and select the tray for the print job among the two ormore printer engines.